
// import { Form } from "./Form";

/**
 * 系统菜单对象
 * 
 * @export
 * @class Menu
 */
export class Menu {

    /**
     * Creates an instance of menu.
     * @param {number} menuId 菜单ID
     * @param {string} menuName 菜单名称
     * @param {string} menuSubName 菜单子名称
     * @param {string} menuPath 菜单导航路径 
     * @param {string} menuIcon 菜单图标
     * @param {number} menuSeq 菜单排序    
     * @param {number} [parentId] 菜单父ID
     * @param {boolean} [isShow] 是否显示
     * @param {boolean} [unMenuShortCuts] 是否固定菜单
     * @param {boolean} [unPermission] 是否有操作权限
     * @memberOf menu
     */
    constructor(
        public menuId: number,
        public menuName: string,
        public menuSubName: string,
        public menuPath: string,
        public menuIcon: string,
        public menuSeq: number,      
        public parentId?: number,
        public menuLevel?:number,
        public children?: Menu[],       
        public isShow?: boolean,
        public formId?:number,
        public unMenuShortCuts?:boolean,       
        public permissionId?:number,
        public unPermission?:boolean,
        public isChecked: boolean=false,
        public isFavorite: boolean=false
    ) {
          Object.defineProperty(this, "children", { enumerable: false });          
        //   Object.defineProperty(this, "isShow", { enumerable: false });      
          Object.defineProperty(this, "isChecked", { enumerable: false });    
          Object.defineProperty(this, "menuLevel", { enumerable: false });   
          Object.defineProperty(this, "isFavorite", { enumerable: false });       
    }
}


// WEBPACK FOOTER //
// ./src/app/entity/menu.model.ts